package com.stlm2.util.codecontent;

import org.json.JSONObject;

import org.springframework.ui.ModelMap;
import org.springframework.util.StringUtils;
import org.springframework.validation.ObjectError;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by songfangyuan on 2017/5/22.
 * 解决接口返回MAP的各种code和内容的对照，统一规范和减少代码量
 * pram code(返回的编码)，name(接口中的哪一个参数名称)，model（需要给前台返回的功能性参数）
 */
public class CodeContent {
    public static String getModelByCode(int code,String name,Object model){
        Map<String,Object> map = new HashMap<String, Object>();
        /*
        * sfy
        * 有空的情况“”或者null
        * */
        if(code==0){
               map.put("code",code);
                map.put("msg",name);


        }

        /*
        * sfy
        * 成功
        * */
        if(code==1){
            map.put("code",code);
            map.put("msg","success");
            if(!StringUtils.isEmpty(model)){
                map.put("datas",model);
            }

        }
        /*
        * sfy
        * 需要登录
        * */
        if(code==-1){
            map.put("code",code);
            map.put("msg","请登录");


        }



        return  new JSONObject(map).toString();
    }

    /**
     * Author：fuchunyu
     * Date：2017/7/21
     * Description：成功返回接口，需传返回数据,没有传Null
     */

    public static String returnSuccess(Object datas){
        ModelMap map =new ModelMap();
        map.put("code",1);
        map.put("msg","success");
        if(datas!=null)
            map.put("datas",datas);
        else
            map.put("datas","");
        return  new JSONObject(map).toString();
    }

    /**
     * Author：fuchunyu
     * Date：2017/7/21
     * Description：失败返回接口，需传失败信息
     */

    public static String returnFailure(String msg){
        ModelMap map =new ModelMap();
        map.put("code",0);
        map.put("msg",msg);
        return  new JSONObject(map).toString();
    }

    /**
     * Author：fuchunyu
     * Date：2017/7/21
     * Description：未登录返回接口
     */

    public static String returnLogin(){
        ModelMap map =new ModelMap();
        map.put("code",-1);
        map.put("msg","请登录");
        return  new JSONObject(map).toString();
    }

    public static  String gCode(String pre,Integer userId){
        StringBuffer code = new StringBuffer();
         code.append(pre);
         code.append(String.valueOf(userId));
         code.append(new Date().getTime());


        return  code.toString();
    }

}
